package cn.sumpu.app.coolsk.dao;

import java.util.List;
import java.util.Map;

import cn.sumpu.app.coolsk.domain.AdminUser;
import cn.sumpu.app.coolsk.domain.Order;
import cn.sumpu.app.coolsk.domain.OrderLog;
import cn.sumpu.app.coolsk.domain.OrderProduct;
import cn.sumpu.app.coolsk.exception.AppBusinessException;

public interface OrderDao {
	public void insertOrder(Order order)throws AppBusinessException;

	public void updateOrder(Order order)throws AppBusinessException;
	
	public List<Order> getOrder(Map<String,Object> map)throws AppBusinessException;
	
	public int getOrderCount(Map<String,Object> map)throws AppBusinessException;
	
	public List<OrderProduct> getOrderProduct(Map<String,Object> map)throws AppBusinessException;
	
	public void delOrderProduct(Map<String,Object> map)throws AppBusinessException;
	
	public void insertOrderProduct(OrderProduct op)throws AppBusinessException;
	
	public List<Order> getOrderListByMemberId(Map<String, Object> map) throws AppBusinessException;
	
	/**
	 * 订单详情
	 * @param map
	 * @return
	 * @throws AppBusinessException
	 */
	public Order getOrderDtlById(Map<String, Object> map) throws AppBusinessException;
	/**
	 * 
	 */
	public void insertOrderLog(OrderLog orderLog) throws AppBusinessException;
	/**
	 * 
	 */
	public OrderLog selectOrderLogByid(Map<String, Object> map) throws AppBusinessException;
	//
	public int getOrderLogCount(Map<String, Object> map)throws AppBusinessException;
	//
	public List<OrderLog> getOrderLogList(Map<String, Object> map) throws AppBusinessException;
	//
	public void updateOrderLock(Order order) throws AppBusinessException;
}
